关于单片机AD采集到的电压跟实际测试到的电压相差较大的问题分析 | 您所在的位置:网站首页 › spi 速度实际设的值和测试的值差别很大 › 关于单片机AD采集到的电压跟实际测试到的电压相差较大的问题分析 |
当遇到MCU采集到的AD值相差特别大的时候,应该怎么分析。 1.首先再次确认采样点的实际电压。 2.确认采样的参考电压是否正确,是内部参电压VCC、1.2V或者是外部的Vref. 3.以上两步都确认没有问题后,核查代码的初始化有无问题。 4.以上都确认无误的话,观察AD的IO口的对外电阻值,是否在芯片推荐使用的对外电阻值得范围之内。如果超出芯片推荐的范围值得话就要小心了,有可能是因为外部阻抗过大所导致的AD采样不准。 如果是这种情况的话,可以先将AD的采样保持时间设置的尽量长,将AD的的分频调至最大,以保证采样时间的充足。如果依旧无法解决的话,建议将对外阻抗调整到芯片推荐范围之内。 案例: 我遇到过的一个现象就是如此: AD采样的电压跟实际值相差太大,软件和采样时间都检查过了没有问题,最后去看AD口的阻抗,我们使用220M :22M的分压比来采样的(因为产品的低功耗需求,必须在每一个节点来把控功耗的限制,因为AD采样其实是蛮增加功耗的,所以就尽量放大阻抗限流,以此来控制功耗。)。查看芯片数据手册,推荐使用的是1M以内的推荐对外阻抗,所以将阻抗调整到推荐范围就顺利解决了该问题。 说到这里不得不提及一个问题,为什么外部阻抗过大会导致AD采样失准呢? 因为芯片内部的AD采样的原理是靠一个RC电路来实现的,采样保持时间其实就是等C充电完成来测量C的电压就是实际测得的电压值,由于外部阻抗过大的时候,限流严重导致AD口灌入的电流减小很多,导致RC即使在最大的采样保持时间也没法将C充电至外部实际电压值,所以导致AD采样失准,这是阻抗过大之后AD采样失准的核心原因。 |
CopyRight 2018-2019 实验室设备网 版权所有 |